package SQL.scan;

import heap.ResultRow;
import heap.ResultSchema;
/* 
 * Clients iterate through a scan, moving from one output record to the next
 * and retrieving field values. The scan manages the execution of the query, by moving
 * appropriately through record files and comparing values.
 */
public interface Scan {
	
	public ResultRow next() throws Exception;
	public void beforeFirst() throws Exception;
	public ResultRow getCurrent() throws Exception;
	public ResultSchema getSchema() throws Exception;
	public boolean hasField(String fldname) throws Exception;
	public void close() throws Exception;
	
}
